// 视图层面的修改


import { Injectable } from '@angular/core';
import { Subject } from 'rxjs';
import { ApesMessageService } from '@shared/apes/message';

@Injectable({
  providedIn: 'root'
})
export class AutopartsViewService {

  controlIsloading$ = new Subject(); // 加载中按钮

  controlSearchBtnDisable$ = new Subject(); // 查询按钮

  controlKeywordAndMenuNameDisable$ = new Subject(); // 关键词和目录名

  clearKeywordAndMenuName$ = new Subject(); // 关键词和目录名清空

  showTypeChange$ = new Subject(); //界面展示

  controlKeyWordInput$ = new Subject(); // 控制关键词/目录输入框是否可用

  controlShowBtn$ = new Subject(); // 控制显示隐藏按钮

  controlSaveBtn$ = new Subject(); // 控制另存为按钮

  menuChange$ = new Subject(); // 目录

  subgroupChange$ = new Subject(); // 子组

  imgSelectChange$ = new Subject(); // 图片

  partsListChange$ = new Subject(); // 配件列表

  parsePartListChange$ = new Subject(); // 配件解析列表

  modelInfoChange$ = new Subject(); // 配置车型数据


  constructor(
    private msgService: ApesMessageService,
  ) {

  }


  /***
   * 初始化界面
   */
  init() {
    this.showTypeChange$.next(1); // 初始化界面展示
    this.menuChange$.next([]); // 初始化目录展示
    this.subgroupChange$.next([]); // 初始化列表展示
    this.imgSelectChange$.next({}); // 初始化图片展示
    this.partsListChange$.next({}); //初始化配件列表展示
    this.parsePartListChange$.next({}); // 初始化解析列表展示
    this.controlShowBtn$.next(true); // 控制显示/隐藏按钮
    this.controlSaveBtn$.next(true); // 控制保存按钮
    this.controlKeyWordInput$.next(false); // 控制关键词
    this.modelInfoChange$.next({}); // 清空配置车型数据
    this.controlKeywordAndMenuNameDisable$.next(true); //禁止输入关键词和目录名
  }

  /***
   * 选中主目录
   */
  selectMenu() {
    this.subgroupChange$.next([]); // 清空子组
    this.clearSecondSurface(); // 清空第二版数据
  }

  /***
   * 清空第二栏数据
   */
  clearSecondSurface() {
    this.controlShowBtn$.next(true); // 屏蔽显示/隐藏按钮
    this.imgSelectChange$.next({}); //清空图片
    this.partsListChange$.next({}); // 清空配件列表;
    this.showTypeChange$.next(1); //展示第一个版面
  }

  /***
   * 展示第二栏数据
   */
  showSecondSurface(data) {
    this.controlShowBtn$.next(false); // 屏蔽显示/隐藏按钮
    this.imgSelectChange$.next(data); //展示图片
    this.showTypeChange$.next(2); //展示第二个版面
  }


}
